﻿Public Class IsverenPrimBorcuHesabi
	Inherits ProcessReport

	Dim Borc As Prim.Borc.Borc

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Start("İşveren Prim Borcu Hesabı", "Hesaplama bilgilerini girin.")
				AddField("@Sigortali", "nl")
				AddDateRange("Tarih", "", "19760101", YMD(Today))
				AddField("Tarih[name=pesintar;label=Ödeme tar.]", "nl", YMD(Today))
			Case EventType.ValidateForm
				If Check("Sigortali", IsEmpty("Sigortali"), "Sigortalı bilgisini girmelisiniz.") Then Exit Sub
				Tables.Clear()
				Tables.Add("sno", Sigortali.SnoAra(Remote, Input("Sigortali")))
				Help = "Prim borcu hesaplanıyor..."
				Borc = Prim.Borc.HesaplaIsveren(Remote, Input("Sigortali"), 0, Input("Tarih1"), Input("Tarih2"), Input("pesintar"))
				If Borc.ErrorMessage <> "" Then
					Warning(Borc.ErrorMessage)
					ResetForm()
					Return
				End If
				If Borc.Aylar.Count = 0 Then
					Warning("Sigortalının ilgili dönemlere ait borcu bulunamadı.")
					ResetForm()
					Return
				End If
				e.Result = True
			Case EventType.PageHeader
				Report.EndBorders()
				Report.PrintReportInfo("İŞVEREN PRİM BORCU DÖKÜMÜ", Trim(Tables("sno")("adi")) & " " & Trim(Tables("sno")("soyadi")) & ", KİMLİK NO. : " & Trim(Tables("sno")("kimlik")))
				Report.BeginBorders()
				Report.SetColumns("", "2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;2;2;2", "c;c;c;c;c;c;c;c;c;c;c;c;c;c;c;c;c;c;c;r;r;r", "---")
				Report.Print("<rs=2>Ay", "<rs=2>Bas", "<rs=2>T.S.", "<rs=2>Gün", "<cs=8>Yatırılan", "<cs=3>Geçici İşgör.", "<cs=7>Yatırılması Gereken")
				Report.Print("H", "H1", "D", "D1", "D2", "J", "E", "L", "Has.", "Ana.", "İşk.", "H", "H1", "J", "L", "Anapara", "Ceza", "Toplam")
			Case EventType.ReportDetail
				Dim Toplam(3) As Decimal
				For Each Ay As Prim.Borc.Borc.Ay In Borc.Aylar.Values
					Report.Print(Ay.Tarih.ToString("yyyy/MM"), Fne(Ay.Basamak), Ay.Tehlike, Ay.CalisilanGun,
					 Fne(Ay.Prim("H")), Fne(Ay.Prim("H1")), Fne(Ay.Prim("D")), Fne(Ay.Prim("D1")), Fne(Ay.Prim("D2")), Fne(Ay.Prim("J")), Fne(Ay.Prim("E")), Fne(Ay.Prim("L")),
					 Fne(Ay.Rapor("has")), Fne(Ay.Rapor("ana")), Fne(Ay.Rapor("isk")),
					 Fne(Ay.Borc("H")), Fne(Ay.Borc("H1")), Fne(Ay.Borc("J")), Fne(Ay.Borc("L")), Fm(Ay.Anapara), Fm(Ay.Ceza), Fm(Ay.Toplam))
					Toplam(0) += Ay.Anapara
					Toplam(1) += Ay.Ceza
					Toplam(2) += Ay.Toplam
				Next
				Report.Print("<cs=19>", Fm(Toplam(0)), Fm(Toplam(1)), Fm(Toplam(2)))
		End Select
	End Sub

End Class
